/*public class Date {
    public int year;
    public int month;
    public int day;

    //无参构造方法--内部给各个成员赋初始值，该部分功能与三个参数的构造方法重复
    //此处可以在无参构造方法中通过this调用带有三个参数的构造方法
    //但是this(...);语句必须是构造方法中的第一条语句
    public Date() {
        this(2022,8,7);
    }

    //带有三个参数的构造方法
    public Date(int year,int month,int day) {
        //this();
        this.year = year;
        this.month = month;
        this.day = day;
    }

    public void setDate(Date this,int y,int m, int d) {
        this.year = y;
        this.month = m;
        this.day = d;
    }
    public void printDate(Date this) {
        System.out.println(year + "-" + month + "-" + day);
    }

    public static void main(String[] args) {
        //构造三个日期类型的对象
        Date d1 = new Date();
        Date d2 = new Date();
        Date d3 = new Date();

        //对d1,d2,d3的日期设置
        d1.setDate(2020,8,6);
        d2.setDate(2021,8,6);
        d3.setDate(2022,8,6);

        //打印日期中的内容
        d1.printDate();
        d2.printDate();
        d3.printDate();
    }
}*/


/*public class Date {
    public int year;
    public int month;
    public int day;

    public Date(int year,int month,int day) {
        System.out.println(this.year);
        System.out.println(this.month);
        System.out.println(this.day);
        //成员变量在定义时，并没有给初始值，为什么就可以使用？
    }

    public static void main(String[] args) {
        //int a;
        //System.out.println(a);
        //此处a没有初始化，编译时报错：
        //Error:(24, 28) java: 可能尚未初始化变量a

        //Date d = new Date(2022,8,7);
    }
}*/

/*
class ClassName {
    field;//字段（属性）或者成员变量
    method;//行为（成员方法）
}*/


/*
class Student {
    public String name;//名字
    public int age;//年龄
    public int height;//身高

    public void printProperties() {//打印属性
        System.out.println(name + " 年龄：" + age + " 身高：" + height);
    }
    public void eat() {//打印吃饭的行为
        System.out.println(name + "正在吃饭");
    }
}*/


//220808
/*
public class Date {
    public int year;
    public int month;
    public int day;

    public Date() {
        this(2022,8,7);
    }

    //带有三个参数的构造方法
    public Date(int year,int month,int day) {
        //this();
        this.year = year;
        this.month = month;
        this.day = day;
    }

    public void setDate(Date this,int y,int m, int d) {
        this.year = y;
        this.month = m;
        this.day = d;
    }
    public void printDate(Date this) {
        System.out.println(year + "-" + month + "-" + day);
    }

    public static void main(String[] args) {
        //构造三个日期类型的对象
        Date d1 = new Date();
        Date d2 = new Date();
        Date d3 = new Date();

        //对d1,d2,d3的日期设置
        d1.setDate(2020,8,6);
        d2.setDate(2021,8,6);
        d3.setDate(2022,8,6);

        //打印日期中的内容
        d1.printDate();
        d2.printDate();
        d3.printDate();
    }
}*/

//this关键字的三种用法：
//一、
/*
public class Date {
    //定义三个成员变量
    public int year;
    public int month;
    public int day;

    //带有三个参数的构造方法
    public void setDate(int year,int month, int day) {
        this.year = year;
        this.month = month;
        this.day = day;
    }

    public static void main(String[] args) {

        Date d = new Date();
        d.setDate(2022,8,8);
    }
}*/

//二、
/*
public class Date {
    public int year;
    public int month;
    public int day;

}*/
